			%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper,11ptn]{report}                                   %
\usepackage[italian]{babel}                                             %
\usepackage{graphicx}                                                   %
\usepackage[colorlinks=true]{hyperref}                                  %
\usepackage{url}                                                        %
\usepackage{eurosym}                                                    %
\usepackage{lastpage}                                                   %
\usepackage{fancyhdr}                                                   %
\hypersetup{linkbordercolor=1 1 1}                                      %
\hypersetup{urlcolor=blue}                                              %
\hypersetup{linkcolor=black}                                            %
\graphicspath{{../immaginiManualeUtente/}}                                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 		COMPLETARE I CAMPI VUOTI PER LA GENERAZIONE AUTOMATICA			%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\Documento}{Manuale Utente}                      % nome del documento
\newcommand{\Sommario}{Il presente documento fornisce informazioni su come installare, avviare e utilizzare il sistema \textit{SIFISY}.}               % sommario
\newcommand{\CodiceRevisione}{RQ}                                      % revisione (es. RPP)
\newcommand{\DataCreazione}{31 marzo 2010}                    % data di creazione
\newcommand{\Versione}{0.6}                                                % versione attuale
\newcommand{\StatoDocumento}{Formale, Esterno}                % stato (es. Formale, Interno)
\newcommand{\Redazione}{Samuele Faggian}                      % autore del documento
\newcommand{\Revisione}{Alberto Longato}                         % verificatore del documento
\newcommand{\Approvazione}{Luca Zanini}                      % chi approva (responsabile)
\newcommand{\Committente}{Prof. Renato Conte, Prof. Tullio Vardanega}  % committente/i
\newcommand{\Proponente}{Dott. Claudio Palazzi}                         % proponente/i
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 			IMPOSTAZIONE DEL DOCUMENTO (NON MODIFICARE)					%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fancypagestyle{plain}{                                                 %
\fancyhf{}                                                              %
\fancyhead[L]{\Documento\ \Versione\ - \CodiceRevisione}                            %
\fancyfoot[C]{\thepage}                                                 %
\fancyhead[R]{\includegraphics[scale=0.3]{logoSevenSoft.png}}           %
}                                                                       %
\begin{document}                                                        %
\pagenumbering{Roman}                                                   %
\begin{center}                                                          %
\includegraphics[scale=0.8]{logoSevenSoft.png} \\                       %
\vspace*{1in}                                                           %
\huge{\textbf{\textbf{\Documento}}} \\                                  %
\vspace*{2cm}                                                           %
Versione: \Versione \\                                                  %
\vspace*{3cm}                                                           %
\vspace*{0.5in}                                                         %
\textbf{Sommario} \\                                                    %
\begin{normalsize}                                                      %
\Sommario                                                               %
\end{normalsize}                                                        %
\end{center}                                                            %
\newpage                                                                %
\thispagestyle{plain}                                                   %
\vspace*{0.5in}                                                         %
\begin{center}                                                          %
\begin{tabular}{l}                                                      %
\Large{\textbf{Capitolato: Simulatore File System}} \\                  %
\begin{tabular}{|p{5cm}|p{7cm}|}                                        %
\hline                                                                  %
\textbf{Data creazione:} &  \DataCreazione \\                            %
\hline                                                                  %
\textbf{Versione:} &  \Versione \\                                       %
\hline                                                                  %
\textbf{Stato del documento:} &  \StatoDocumento \\                      %
\hline                                                                  %
\textbf{Redazione:} &  \Redazione \\                                     %
\hline                                                                  %
\textbf{Revisione:} &  \Revisione  \\                                    %
\hline                                                                  %
\textbf{Approvazione:}  &  \Approvazione \\                              %
\hline                                                                  %
\textbf{Committente:} &  \Committente \\                                 %
\hline                                                                  %
\textbf{Proponente:} &  \Proponente \\                                   %
\hline                                                                  %
\end{tabular} \\                                                        %
\end{tabular}                                                           %
\end{center}                                                            %
                                                           %
                                                     %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 		COMPLETARE I CAMPI VUOTI PER IL DIARIO DELLE MODIFICHE			%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\thispagestyle{plain}
\begin{center}
\begin{tabular} {l}
\Large{\textbf{Legenda Diario delle modifiche}} \\
\begin{tabular}{|p{3cm}|p{7cm}|}
\hline
Vers & Versione del documento \\
\hline
Verif & Verificatore del documento \\
\hline
Resp & Responsabile che approva il documento \\
\hline
\hline
GB & Giuseppe Biolo \\
\hline
DDM & Daniele De Matteo \\
\hline
SF & Samuele Faggian \\
\hline
GF & Giuseppe Ferri \\
\hline
AL & Alberto Longato \\
\hline
AV & Alessandro Vedovato \\
\hline
LZ & Luca Zanini \\
\hline
\end{tabular} \\
\end{tabular}
\end{center}

\vspace*{2cm}

\begin{center}
\begin{tabular}{l}
\Large{\textbf{Diario delle modifiche}} \\
\begin{tabular}{|p{0.7cm}|p{1.9cm}|p{1.2cm}|p{1cm}|p{1cm}|p{6.9cm}|}
\hline
\textbf{Vers} & \textbf{Data} & \textbf{Autore} & \textbf{Verif} & \textbf{Resp} & \textbf{Descrizione} \\
\hline
0.6 & 10/06/2010 &  SF & LA & LZ& Piccole modifiche al documento e stesura glossario in appendice\\
\hline
0.5 & 20/05/2010 &  SF & LA & LZ& Modificate alcune funzionalit\`a riguardanti il progetto\\
\hline
0.4 & 04/05/2010 & SF & DDM & LZ& Aggiunto tracciamento controllo degli errori in SIFISY e altre funzionalit\`a del sistema\\
\hline
0.3 & 20/04/2010 &  SF & DDM & VA& Aggiornamento funzionalit\`a implementate e impostazioni Appendice alla fine del documento\\
\hline
0.2 & 10/04/2010 & SF & DDM & VA& Descrizione prime funzionalit\`a implementate riguardanti le simulazioni\\
\hline
0.1 &  31/03/2010 & SF& DDM& VA& Prima stesura del documento, informazioni generali, processo di installazione e disinstallazione  \\ 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 			IMPOSTAZIONE DEL DOCUMENTO (NON MODIFICARE)					%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\hline                                                                  %
\end{tabular}      \\                                                   %
\end{tabular}       \\                                                    %
\end{center}                                                            %
\newpage                                                                %
\tableofcontents                                                        %
\newpage                                                                %
\pagenumbering{arabic}                                                  %
\fancypagestyle{plain}{                                                 %
\fancyhf{}                                                              %
\fancyhead[L]{\Documento\ \Versione\ - \CodiceRevisione}                            %
\fancyfoot[C]{\thepage\ di \pageref{LastPage}}                          %
\fancyhead[R]{\includegraphics[scale=0.3]{logoSevenSoft.png}}           %
}                                                                       %
\pagestyle{plain}                                                       %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\chapter{Introduzione}

\section{Scopo del documento}
Il presente documento si occupa di fornire informazioni sul prodotto \textit{SIFISY} utili all'utente per un utilizzo corretto e pi\`u semplice del sistema. Fornisce inoltre informazioni riguardanti installazione ed eventuali problemi che possono incorrere nell'utilizzo del software.

\section{Glossario}
Per il glossario si faccia riferimento all'appendice in fondo al documento.
	
\section{Definizione dell'utente del prodotto}
Il prodotto \`e rivolto ad un utente al quale \`e richiesto una conoscenza base nell'ambito dei file system. A tale scopo il software mette a disposizione:
\begin{itemize}
	\item Un interfaccia user-friendly
%	\item Una funzione Help che contiene informazioni sul funzionamento del sistema e dei suoi vari componenti
	\item Un sistema di comunicazione degli errori ben strutturato
	\item Il presente manuale che illustra le funzionalit\`a del linguaggio, e accompagna l'utente nell'installazione, nell'avvio e nell'utilizzo del prodotto
\end{itemize}

\section{Descrizione del sistema}
Il sistema \textit{SIFISY} permette di simulare il comportamento di uno o pi\`u File System. A tale scopo il sistema mette a disposizione dell'utente, attraverso la sua interfaccia grafica, una serie di strumenti per visualizzare quello che accade all'interno di un File System e di come i vari files vengono gestiti.
\section{Caratteristiche del servizio}
Una volta avviato il sistema offrir\`a all'utente:
\begin{itemize}
	\item una semplice interfaccia per operare con il sistema
	\item un wizard per la creazione di una simulazione o di un progetto in maniera rapida
	\item la possibilit\`a di aprire ulteriori simulazioni o progetti precedentemente salvati
	\item la possibilit\`a di salvare simulazioni e progetti su file XML
	\item un controllo di integrit\`a dei dati inseriti
	\item messaggi di errore per gli utenti meno esperti
	\item una funzione di aiuto che riguarda sia l'utilizzo del sistema sia definizioni riguardanti i file system
\end{itemize}

\section{Come leggere il manuale}
Questo manuale presenta il sistema \textit{SIFISY} illustrandone in modo completo le procedure di installazione, avvio e utilizzo. Ogni capitolo verr\`a
accompagnato da illustrazioni, allo scopo di rendere il pi\`u chiaro e semplice
possibile i passaggi descritti.
\begin{itemize}
	\item Nel capitolo 2 vengono illustrati i requisiti (software e hardware) ne-
cessari ad una corretta installazione del prodotto
	\item Nel capitolo 3 viene illustrata la procedura di installazione del prodotto
nei diversi sistemi operativi
	\item Nel capitolo 4 vengono descritti i passsaggi per un corretto avvio del
sistema
	\item Nel capitolo 5 vengono analizzate e descritte le varie funzionalit`a del
sistema
	\item Nel capitolo 6 viene presentato il linguaggio che definisce le business
rule
	\item Nel capitolo 7 viene spiegato come disinstallare il prodotto nei diversi
sistemi operativi
	\item Nel capitolo 8 vengono riassunti i messaggi di errore
\end{itemize}
\chapter{Requisiti minimi}

\section{Requisiti Software}
	\subsection{Sistema operativo}
	\textit{SIFISY} \`e sviluppato con tecnologia Java ed \`e quindi utilizzabile dai
seguenti sistemi operativi.
	\begin{itemize}
		\item[] \textbf{Linux:} qualsiasi distribuzione
		\item[] \textbf{Windows:} Windows XP, Windows Vista, Windows 7
		\item[] \textbf{Mac:} Mac OS X 10.4.10 
	\end{itemize}
	\subsection{Java Runtime Enviroment (JRE)}
	Essendo il prodotto realizzato con la tecnolgia Java necessita di un ambiente Java Runtime Environment (JRE) in versione 1.6 per essere installato ed eseguito.

\section{Requisiti hardware}
Per un corretto e scorrevole funzionamento del software sono richiesti:
\begin{itemize}
	\item Processore: 166 MHz
	\item Ram: 32Mb
	\item Spazio disponibile: 5.6 Mb
\end{itemize}

\chapter{Installazione e disinstallazione}

\section{Installazione SIFISY}
L'installazione del prodotto non dipende dal sistema operativo in uso, elenchiamo qua sotto le operazioni da eseguire.
\begin{enumerate}
 	\item Scompattare l'archivio ZIP in allegato a questa mail
 	\item Fare doppio click sul file SiFiSy.jar
\end{enumerate}


\section{Disinstallazione SIFISY}
Per la disinstallazione completa del prodotto \`e sufficiente rimuovere il prodotto manualmente seguendo le seguenti istruzioni:
\begin{enumerate}
	\item Individuate la cartella ''sifisy'' nel vostro file system
	\item Rimuovete la cartella ''sifisy'' ed eventualmente altri collegamenti creati
\end{enumerate}

\chapter{Funzionalit\`a del sistema}

\section{Descrizione funzionale}
Di seguito \`e riportata la descrizione delle funzionalit\`a del prodotto. Ad ogni passo \`e stata associata una figura, in modo da determinare senza ambiguit\`a il contesto dell'applicazione. Una volta avviato il sistema, verr\`a visualizzato un \underline{Wizard} che d\`a all'utente la possibilit\`a di scegliere cosa fare. Il Wizard all'avvio pu\`o essere tolto su decisione dell'utente, in questo caso si aprir\`a la finestra principale del sistema vuota, in attesa di apertura di un file precedentemente salvato o dalla creazione di uno nuovo. Vedremo in seguito questa possibilit\`a, in generale \`e preferibile invece la possibilit\`a che inizieremo ad illustrare qui di seguito.

\begin{figure}[h]
\centering
\includegraphics[scale=0.7]{wizardIniziale.png}
\caption{Wizard iniziale all'apertura di SiFiSy}
\end{figure}

Dal Wizard \`e possibile:
\begin{itemize}
	\item Aprire la \underline{simulazione} di default
	\item Creare un nuovo \underline{progetto}
	\item Aprire simulazioni precedentemente salvati
	\item Aprire progetti precedentemente salvati
	\item Chiudere il Wizard
	\item Decidere di non visualizzare pi\`u il wizard in futuro	
\end{itemize}
\`E importante notare che all'hover del mouse su un bottone viene del Wizard viene data subito un'istruzione su cosa comporta il click su quel determinato bottone, nella figura qui sopra l'istruzione data \`e la creazione di una nuova simulazione.
L'analisi dettagliata delle singole azioni verr\`a trattata nelle sezioni seguenti insieme ad altre funzionalit\`a non elencate qui sopra.

\section{Aprire la simulazione di default}
Dal Wizard si sceglier\`a di creare una nuova simulazione cliccando sul pulsante \textsf{Nuova Simulazione}.
\begin{figure}[h]
\centering
\includegraphics[scale=0.7]{wizardIniziale.png}
\caption{Click sul pulsante per creare una nuova simulazione}
\end{figure}

Verr\`a aperta subito la simulazione di default in maniera tale che si ha gi\`a pronta una simulazione da avviare subito con valori precedentemente impostati dall'utente. Ovviamente l'utente potr\`a andare a modificare questi dati a suo piacimento.

\begin{figure}[h]
%\centering
\includegraphics[scale=0.45]{simulazione.png}
\caption{Visualizzazione della simulazione che l'utente ha creato}
\end{figure}

\newpage
\section{Creare un progetto}
Dal Wizard iniziale, come per le simulazioni, si sceglier\`a di creare un nuovo progetto cliccando sul pulsante \textsf{Nuovo Progetto}.
Verr\`a poi chiesto di inserire un nome al progetto.
\begin{figure}[h]
\centering
\includegraphics[scale=0.586]{inputNuovoProgetto.png}
\caption{Form per l'inserimento del nome del progetto}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[scale=0.586]{inputAttivoNuovoProgetto.png}
\caption{Form per l'inserimento del nome del progetto}
\end{figure}
\newpage

\begin{figure}[h]
\centering
\includegraphics[scale=0.424]{progetto.png}
\caption{Visualizzazione del progetto creato}
\end{figure}
Fatto ci\`o verr\`a visualizzata nella schermata di lavoro principale del sistema il progetto appena creato. Essa contiene le impostazioni del progetto dove, come andremo ad illustrare pi\`u avanti, \`e possibile scegliere le simulazioni da confrontare. L'utente potr\`a inserire a suo piacimento delle simulazioni (nuove o preesistenti) e andarne a modificare i dati. Ricordiamo che un progetto ha motivo di esistere per confrontare le simulazioni e quindi \`e necessario averne almeno due all'interno di un progetto.


\section{Aprire simulazioni o progetti precedentemente salvate}
Si potr\`a dal wizard cercare una simulazione con \underline{estensione} \underline{.sfs} o un progetto con estensione \underline{.fsp} precedentemente salvati ed aprirli. Essi verranno visualizzati.

\begin{figure}[h]
\centering
\includegraphics[scale=0.7]{apriProgSim.png}
\caption{Nuova simulazione da men\`u}
\end{figure}



\section{Creare una nuova simulazione}
\`E possibile creare una nuova simulazione in due modi:
\begin{itemize}
	\item Dal men\`u rapido
	\item Dal men\`u classico
\end{itemize}

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{nuovaSim.png}
\caption{Bottone rapido per creare nuova simulazione}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{nuovaSimMenu.png}
\caption{Nuova simulazione da men\`u}
\end{figure}


\newpage
Si aprir\`a una form per l'inserimento del nome che l'utente dovr\`a dare alla sua simulazione
\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{ProvaUno.png}
\caption{Form per la richiesta del nome della simulazione}
\includegraphics[scale=0.5]{inputNuovaSimulazione.png}
\caption{Inserimento nome della simulazione}
\end{figure}

Come si pu\`o notare all'apertura della form il tasto \textsf{Ok} non \`e cliccabile in quanto \`e necessario dare un nome alla simulazione.

\newpage
\section{Modifica dei dati}
Come vediamo nella schermata, all'interno della simulazione vanno impostati diversi campi dati in maniera congruente per poter ottenere risultati che abbiano un senso.

\begin{figure}[h]
\centering
\includegraphics[scale=0.334]{simulazione.png}
\caption{Schermata principale modifica dati}
\end{figure}


\subsection{Partizione}
Identifica la partizione di disco su cui simulare un file system. La dimensione viene decisa da due parametri, il primo che dev'essere inserito dall'utente (Es: 40), il secondo scelto tra una serie di valori dati (Es: GB).

\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{partizione.png}
\caption{Campi dati per la modifica della partizione}
\end{figure}

	\subsubsection{Avanzate}
Come si pu\`o vedere nella figura appena sopra \`e presente un pulsante che permette di impostare delle opzioni avanzate del disco allo scopo di calcolare il tempo medio di lettura dei file all'interno del file system che si sta simulando.
Andiamo a spiegare i parametri da settare:
	\begin{itemize}
	\item[] \textbf{Blocchi stesso file su stessa traccia: }questo parametro chiede all'utente di inserire i blocchi di un file che risiedono sulla stessa traccia del disco, pi\`u il numero sar\`a alto pi\u il tempo di lettura sar\`a breve.
	\item[] \textbf{Tempo spostamento della testina: }\`e il tempo che ci mette la testina per collocarsi nella traccia in cui poi ndare a leggere.
	\item[] \textbf{Numero blocchi per traccia: }contiene il numero di blocchi che può avere una traccia
	\item[] \textbf{Velocit\`a di rotazione: }velocit\`a di rotazione del disco espressa in giri al minuto
	\end{itemize}

	\begin{figure}[h]
	\centering
	\includegraphics[scale=0.6]{partizioneAvanzate.png}
	\caption{Campi dati avanzati della partizione}
	\end{figure}

	\subsubsection{Esiti}
Se il valore inserito \`e corretto verr\`a visualizzato senza nessun tipo di messaggio.\\
In caso di errore il valore errato verr\`a colorato in rosso e in basso verr\`a nella textbox \textsf{Informazioni} verranno visualizati gli errori.
Esempio: \textsf{La dimensione della partizione non deve essere uguale a zero o negativa} se il numero inserito \`e minore o uguale a zero.

\subsection{Blocchi}
Identifica la dimensione dei blocchi di una partizione di disco. La dimensione viene decisa da due parametri, il primo che dev'essere inserito dall'utente (Es: 10), il secondo scelto tra una serie di valori dati (Es: KB).
\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{blocco.png}
\caption{Campi dati per la modifica del blocco}
\end{figure}

	\subsubsection{Esiti}
Se il valore inserito \`e corretto verr\`a visualizzato senza nessun tipo di messaggio.\\
In caso di errore il valore errato verr\`a colorato in rosso e in basso verr\`a nella textbox \textsf{Informazioni} verranno visualizzati gli errori.
Esempio: \textsf{La dimensione del blocco inserita \`e troppo grande} se il numero inserito supera i limiti consentiti.

\subsection{File system}
Identifica il tipo di file system che si vuole simulare. Il valore \`e scelto tra una serie data.
In base al tipo di file system desiderato si attiveranno altri parametri da impostare necessari per il funzionamento della simulazione. Ad esempio per il file system di tipo Ext 2 dovranno essere impostati anche i parametri riguardanti la dimensione degli Inode e il numero di blocchi diretti del primo Inode.

\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{fileSystem.png}
\caption{Campi dati Ext2}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{modificaDatiNtfs.png}
\caption{Campi dati NTFS}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{modificaDatiFat.png}
\caption{Campi dati FAT32}
\end{figure}
\newpage
	\subsubsection{Esiti}
In questo caso la scelta della tipologia del file system non richiede controlli e non pu\`o essere sbagliata di per s\`e. Potranno esserci errori di congruenza con parametri specifici del file system in questione (Es: Dimensione degli Inode per Ext 2). In questo caso come in precedenza verranno visualizzati in rosso nella schermata dopo aver dato un messaggio di errore.
Se il valore inserito \`e corretto verr\`a visualizzato senza nessun tipo di messaggio.\\
Esempio: \textsf{La quantit\`a dei blocchi del primo i-node non \`e un numero!} se non viene inserito un numero nel numero di blocchi diretti presenti nel primo Inode.

\subsection{Gestione file singolo}
Per la gestione del \underline{file} sono presenti due possibilit\`a. La prima \`e quella che consiste nel scrivere la dimensione di un unico grande file e poi frammentarlo in blocchi. La dimensione viene decisa da due parametri, il primo che dev'essere inserito dall'utente (Es: 40), il secondo scelto tra una serie di valori dati (Es: MB).
\`E quindi possibile decidere di frammentare il file in una serie di parti specificando quanti blocchi contigui si vuole avere per simulare il comportamento del file system nel caso non fosse possibile salvare un file intero contiguamente.

\begin{figure}[h]
\centering
\includegraphics[scale=0.7]{gestioneFileSingolo.png}
\caption{Dividere in blocchi un file all'interno di un file system per simulare la frammentazione}
\end{figure}

	

	\subsubsection{Esiti}
Sia per la dimensione del file che per il valore dei blocchi contigui, se esso \`e inserito correttamente verr\`a visualizzato senza nessun tipo di messaggio.\\
In caso di errore il valore errato verr\`a colorato in rosso e in basso verr\`a nella textbox \textsf{Informazioni} verranno visualizzati gli errori.
Esempio: \textsf{La dimensione del file non \`e un numero!} se viene inserita una stringa anzich\`e un numero.


\subsection{Gestione file multipli}
La selezione di questa possibilit\`a consente all'utente di inserire manualmente dei \underline{file} fittizzi di dimensione voluta invece di inserire un \underline{file} unico e frammentarlo. In questo caso cambier\`a la schermata per la gestione dei file.
In questa schermata sar\`a possibile aggiungere e togliere \underline{file}, attraverso gli appositi pulsanti, all'interno della simulazione come se fossimo in un vero file system, questo \`e possibile scrivendo all'interno del campo apposito la dimensione del file. L'utente dovr\`a inoltre specificare la dimensione del file attraverso l'unit\`a di misura della grandezza del file (es. MB). Sar\`a anche possibile scegliere la politica di allocazione dei file, di default la politica usata sar\`a la First Fit, ma sar\`a possibile decidere di utilizzare anche Best Fit, Worst Fit e Next Fit. Lo spazio attualmente disponibile visibile sotto l'elenco dei file inseriti \`e aggiornato ad ogni inserimento di file per vedere quanto \`e ancora possibile occupare l'hard disk.

\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{gestioneFileMultipli.png}
\caption{Gestione manuale dei files all'interno di una simulazione}
\end{figure}

L'aggiunta di un file avviene all'interno della schermata visualizzandone il nome e la dimensione. Appena inserito un file il pulsante si inibisce finch\`e non viene cambiato il nome.
Se si riscrive il nome di un file gi\`a presente viene segnalato in rosso. Gli errori riguardanti la dimensione dei files sono uguali a quelli per l'inserimento di un singolo file.
\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{multifileInserito.png}
\caption{Inserimento di un file}
\end{figure}
\begin{figure}[h]
\centering
\includegraphics[scale=0.6]{fileEsistente.png}
\caption{Tentativo di inserimento di un file gi\`a presente}
\end{figure}

\newpage

\section{Modifica di un progetto}
Come abbiamo gi\`a detto un progetto \`e un insieme di simulazioni. Esso ha lo scopo di confrontare i risultati di varie simulazioni. Per confrontare i risultati \`e necessario selezionare dalla tab \textsf{Impostazioni} del progetto le simulazioni che si vogliono confrontare, \`e importante sottolineare che una simulazione appena creata all'interno di un progetto \`e gi\`a selezionata per il confronto nella tab \textsf{Impostazioni} del progetto. \'E possibile aprire simulazioni gi\'a esistenti o crearne di nuove, se non ci sono almeno due simulazioni non verr\'a avviato il confronto.
\begin{figure}[h]
\centering
\includegraphics[scale=0.56]{tabImpostazioniProgetto.png}
\caption{Impostazioni del progetto}
\end{figure}
\newpage
Come si pu\`o notare sono selezionate le simulazioni \textsf{uno} e \textsf{tre} che sono presenti anche nella lista delle tab dopo la tab \textsf{Impostazioni}, questo significa che avviando il confronto si otterranno i risultati solo delle simulazioni \textsf{uno} e \textsf{tre}, la simulazione \textsf{due} non prende parte al confronto. I risultati delle simulazioni verranno visualizzate all'avvio del confronto sotto forma tabellare riportando i dati calcolati dal confronto e anche qualche dato inserito dall'utente interessante per il confronto, vediamo ora le schermate appena illustrate. \`E importante notare come alcuni risultati siano segnati in rosso, essi indicano tra le simulazioni il dato migliore riguardante quel campo.

\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{simUnoProgetto.png}
\caption{Dati simulazione uno}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{simTreProgetto.png}
\caption{Dati simulazione tre}
\end{figure}

\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{risultatiProgetto.png}
\caption{Confronto tra simulazioni}
\end{figure}

\newpage
\section{Men\`u di una simulazione}
Come si pu\`o notare ogni simulazione ha una serie di bottoni all'interno della propria schermata. Ogni pulsante ha una funzione precisa all'interno della simulazione, non tutti sono attivi in quanto in base alla schermata ha senso averli attivi alcuni rispetto ad altri. Illustreremo ora le varie funzionalit\`a.

\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{simulazioneMenu.png}
\caption{Menu presente nelle simulazione}
\end{figure}

%\subsection{Modifica impostazioni di default}
%Sar\`a possibile cambiare le impostazioni di default delle simulazioni. Abbiamo gi\`a detto che aperta una simulazione i parametri sono gi\`a impostati su valori di default. \`E possibile impostare questi valori in base alle proprie preferenze in maniera tale che ogni volta, aprendo una nuova simulazione, i valori dei parametri siano quelli impostati. Per far questo \`e sufficiente cliccare il pulsante \textsf{Imposta Come Default} dal men\`u.

%\begin{figure}[h]
%\centering
%\includegraphics[scale=0.8]{impostaDefault.png}
%\caption{Pulsante per impostare il default}
%\end{figure}
\newpage
\subsection{Ripristina impostazioni di default}
Sar\`a possibile in ogni momento ripristinare per ogni simulazione il default impostato, cliccando sul pulante \textsf{Ripristina Default} presente sul men\`u delle simulazioni.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{ripristinaDefault.png}
\caption{Pulsante per impostare il default}
\end{figure}


\subsection{Chiudi Simulazione}
L'ultimo pulsante del men\`u delle simulazione consente di chiudere la simulazione attualmente aperta.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{chiudiSim.png}
\caption{Pulsante per impostare il default}
\end{figure}

\subsection{Avvia simulazione}
Impostati i parametri l'utente potr\`a avviare la simulazione per calcolarne i risultati, scegliendo di cliccare il pulsante \textsf{Avvia Simulazione}. Facendo ci\`o verr\`a cambiata la schermata di simulazione visualizzando la schermata dei risultati.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{avviaSim.png}
\caption{Pulsante per impostare il default}
\end{figure}

%--------------------------------------------------
\section{Men\`u di una simulazione all'avvio}
Come si pu\`o vedere alcuni pulsanti sono disabilitati. Questo perch\`e non ha senso averli attivi sempre. Infatti all'avvio della simulazione alcuni pulsanti vengono abilitati mentre altri diventano inattivi.

\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{simulazioneMenuAvvia.png}
\caption{Men\`u all'avvio della simulazione}
\end{figure}

\newpage
\subsection{Configurazione}
Il pulsante \textsf{Configurazione} \`e sempre presente nel men\`u delle simulazioni, ma si attiva solo all'avvio della simulazione per tornare alla finestra per la modifica dei dati.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{configurazione.png}
\caption{Pulsante di Configurazione}
\end{figure}


\subsection{Visualizza risultati}
Il pulsante \textsf{Visualizza risultati} \`e attivo anch'esso all'avvio della simulazione, e consente di aprire i grafici della simulazione avviata.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{visualizzaGrafico.png}
\caption{Pulsante per la visualizzazione dei risultati}
\end{figure}

Al click si aprir\`a una finestra con la visualizzazione dei risultati in cui sar\`a possibile salvare il grafico creato cliccando sull'apposito pulsante.

\begin{figure}[h]
\centering
\includegraphics[scale=0.45]{graficoExt2.png}
\caption{Visualizzazione dei risultati di un Ext2}
\end{figure}

\newpage
\subsection{Esporta risultati}
Il pulsante \textsf{Visualizza risultati} si attiva all'avvio di una simulazione e consente di salvare in formato \textsf{pdf} i risultati della simulazione. 


\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{esportaRisultati.png}
\caption{Pulsante per il salvataggio dei risultati in pdf}
\end{figure}

\newpage

\section{Men\`u principale}
Andiamo ora a spiegare le varie funzionalit\`a del men\`u principale di \textit{SIFISY}.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{menuPrincipale.png}
\caption{Menu principale}
\end{figure}

Come si pu\`o vedere dall'immagine il menu principale \`e composto da un men\`u ad icone oltre che dal men\`u normale, il men\`u ad icone \`e un men\`u rapido che consente all'utente di fare determinate cose con un click.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{salvaDaMenu.png}
\caption{Salvataggio da menu}
\end{figure}

\subsection{Salvataggio simulazioni}
Concluso il lavoro \`e possibile salvare le simulazioni cliccando sul tasto apposito o dal men\`u principale appena visto o con il pulsante apposito.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{salva.png}
\caption{Bottone rapido per il salvataggio}
\end{figure}

\subsection{Apertura simulazioni e progetti}
\`E possibile aprire un progetto o una simulazione dal menu visto sopra oppure cliccando sul pulsante apposito e cercare la simulazione o il progetto che si vuole aprire.

\begin{figure}[h]
\centering
\includegraphics[scale=0.8]{apri.png}
\caption{Bottone rapido per l'apertura}
\end{figure}

\section{Preferenze}

Viene data la possibilit\`a all'utente di impostare alcune caratteristiche di SIFISY dal men\`u \textsf{Preferenze}.

\begin{figure}[h]
\centering
\includegraphics[scale=0.45]{preferenze.png}
\caption{Come accedere al men\`u delle preferenze}
\end{figure}

Dal men\`u \`e possibile cambiare la lingua come inglese o italiano e decidere di attivare o disattivare il Wizard iniziale, \`e possibile che l'utente l'abbia disattivato e voglia riattivarlo.

\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{preferenzeStandard.png}
\caption{Opzioni standard}
\end{figure}
\newpage
Oppure come opzioni pi\`u avanzate l'utente sar\`a in grado di impostare dei file XML presenti all'interno di SIFISY in base alle sue preferenze.

\begin{figure}[h]
\centering
\includegraphics[scale=0.5]{preferenzeSmanettoni.png}
\caption{Opzioni avanzate}
\end{figure}





%\section{Consultazione Help}
%Ogni casella \`e provvista di un help che compare al passaggio del mouse. Inoltre \`e possibile avere un aiuto pi\`u corposo cliccando sul tasto per attivare l'help del sistema.\\
%Dopo aver premuto ''Help'' situato nel Men\`u Principale comparir\`a il Men\`u a tendina dal quale si avr\`a la possibilit\`a di vedere i dettagli tecnici del software.

\chapter{Appendice}
\section{Messaggi d'errore}
A seguire una lista di possibili errori, comprensiva di una sintetica descrizione:

\begin{center}
\begin{tabular}{|p{5.5cm}|p{6.5cm}|}
\hline
\textsc{Errore : Messaggio} &\textsc{Descrizione} \\
\hline
partErr0 : \textsf{La dimensione della partizione non deve essere uguale a zero o negativa} & Errore inserimento partizione. Viene visualizzato all'inserimento di un numero uguale o minore di zero. Es: -4\\
\hline
partErr1 : \textsf{La dimensione della partizione \`e troppo grande} & Errore inserimento partizione. Viene visualizzato all'inserimento di un valore maggiore di 1023, in quanto se abbiamo 1024 MB equivale a 1 GB, quindi andr\`a scritto 1GB\\
\hline
blockErr2 : \textsf{La dimensione del blocco non deve essere uguale a zero o negativa} & Errore inserimento blocco. Viene visualizzato all'inserimento di un numero uguale o minore di zero. Es: 0\\
\hline
blockErr3 : \textsf{La dimensione del blocco inserita \`e troppo grande} & Errore inserimento blocco. Viene visualizzato all'inserimento di un valore maggiore di 1023, in quanto se abbiamo 1024 KB equivale a 1 MB, quindi andr\`a scritto 1 MB\\
\hline
fileErr4 : \textsf{La dimensione del file non deve essere uguale a zero o negativa} & Errore inserimento file. Viene visualizzato all'inserimento di un numero uguale o minore di zero. Es: -4\\
\hline
fileErr5 : \textsf{La dimensione del file inserita \`e troppo grande} & Errore inserimento file. Viene visualizzato all'inserimento di un valore maggiore di 1023, in quanto se abbiamo 1024 MB equivale a 1 GB, quindi andr\`a scritto 1GB\\
\hline
fragErr6 : \textsf{La dimensione della frammentazione inserita non \`e valida} & Errore inserimento  frammentazione file singolo. Viene visualizzato all'inserimento di un numero uguale o minore di zero\\
\hline
i-nodeErr7 : \textsf{La quantit\`a di blocchi del primo i-node non deve essere pari a zero o negativa} & Errore inserimento blocchi diretti primo Inode. Viene visualizzato all'inserimento di un numero uguale o minore di zero\\
\hline

\end{tabular}

\begin{tabular}{|p{5.5cm}|p{6.5cm}|}
\hline
i-nodeErr8 : \textsf{La quantit\`a di blocchi del primo i-node \`e troppo grande} & Errore inserimento blocchi diretti primo Inode. Viene visualizzato all'inserimento di un numero maggiore di 12, impostato come limite superiore\\
\hline
i-nodeErr9 : \textsf{La dimensione di un i-node non deve essere pari a zero o negativa} & Errore inserimento dimensione Inode. Viene visualizzato all'inserimento di un numero uguale o minore di zero\\
\hline
i-nodeErr10 : \textsf{La dimensione di un i-node inserita \`e troppo grande} & Errore inserimento dimensione Inode. Viene visualizzato all'inserimento di un numero maggiore di 128, impostato come limite superiore\\
\hline
speedErr11 : \textsf{La velocit\`a di rotazione non deve essere pari a zero o negativa} & Errore inserimento velocit\`a rotazione disco. Viene visualizzato all'inserimento di un numero minore o uguale a zero\\

\hline
speedErr12 : \textsf{La velocit\`a di rotazione \`e troppo grande} & Errore inserimento velocit\`a rotazione disco. Viene visualizzato all'inserimento di un numero maggiore di 32000, impostato come limite superiore\\
\hline
trackErr13 : \textsf{Il tempo di spostamento della testina non deve essere pari a zero o negativa} &Errore inserimento tempo spostamento testina. Viene visualizzato all'inserimento di un numero minore o uguale a zero\\
\hline
trackErr14 : \textsf{Il tempo di spostamento della testina \`e troppo grande} & Errore inserimento tempo spostamento testina. Viene visualizzato all'inserimento di un numero maggiore di 100, impostato come limite superiore\\
\hline
nTrackErr15 : \textsf{Il numero di blocchi per traccia non deve essere pari a zero o negativa} & Errore inserimento blocchi per traccia. Viene visualizzato all'inserimento di un numero minore o uguale a zero\\
\hline
nTrackErr16 : \textsf{Il numero di blocchi per traccia \`e troppo grande} & Errore inserimento blocchi per traccia. Viene visualizzato all'inserimento di un numero maggiore di 1000, impostato come limite superiore\\
\hline
%bftErr17 : \textsf{Il numero di blocchi di uno stesso file all'interno di una traccia non deve essere pari a zero o negativa} \\
%\hline
%bftErr18 : \textsf{Il numero di blocchi di uno stesso file all'interno di una traccia \`e troppo grande rispetto la grandezza della traccia}\\
%\hline
mRecErr19 : \textsf{La dimensione del record principale non deve essere pari a zero o negativa} & Errore inserimento record principale NTFS. Viene visualizzato all'inserimento di un numero minore o uguale a zero\\
\hline
mRecErr20 : \textsf{La dimensione del record principale deve essere minore della dimensione di un blocco} & Errore inserimento record principale NTFS. Viene visualizzato all'inserimento di un valore maggore della dimensione del blocco\\
\hline
eRecErr21 : \textsf{La dimensione del record di estensione non deve essere pari a zero o negativa} & Errore inserimento record di estensione NTFS. Viene visualizzato all'inserimento di un numero minore o uguale a zero\\
\hline
eRecErr22 : \textsf{La dimensione del record di estensione deve essere minore della dimensione di un blocco} & Errore inserimento record di estensione NTFS. Viene visualizzato all'inserimento di un valore maggore della dimensione del blocco\\
\hline
consistenceErr23 : \textsf{Le dimensioni di partizione e la dimensione del blocco non sono compatibili} & Errore di compatibilit\`a tra i valori del blocco e della partizione inseriti\\
\hline

\end{tabular}

\begin{tabular}{|p{5.5cm}|p{6.5cm}|}
\hline
consistenceErr24 : \textsf{La dimensione dei file inseriti e la dimensione della partizione non sono compatibili} & Errore di compatibilit\`a tra i valori del file e della partizione inseriti\\
\hline
nNumErr25 : \textsf{La dimensione della partizione inserita non \`e un numero!} & Errore inserimento partizione. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr26 : \textsf{La dimensione del blocco inserita non \`e un numero!} & Errore inserimento blocco. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr27 : \textsf{La dimensione del file non \`e un numero!} & Errore inserimento file. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr28 : \textsf{Il valore della frammentazione non \`e un numero!} & Errore inserimento frammentazione file singolo. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr29 : \textsf{La quantit\`a dei blocchi del primo i-node non \`e un numero!} & Errore inserimento numero blocchi primo Inode. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr30 : \textsf{La dimensione di un i-node non \`e un numero!} & Errore inserimento Inode. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr31 : \textsf{La velocit\`a di rotazione non \`e un numero!} & Errore inserimento velocit\`a rotazione disco. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr32 : \textsf{Il tempo di spostamento della testina non \`e un numero!} & Errore inserimento spostamento testina. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero \\
\hline
nNumErr33 : \textsf{Il numero di blocchi per traccia non \`e un numero!} & Errore inserimento blocchi per traccia. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
%nNumErr34 : \textsf{Il numero di blocchi di uno stesso file all'interno di una traccia non \`e un numero!}\\
%\hline
nNumErr35 : \textsf{La dimensione del record principale non \`e un numero!} & Errore inserimento record principale. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
nNumErr36 : \textsf{La dimensione del record estensione non \`e un numero!} &  Errore inserimento record di estensione. Viene visualizzato all'inserimento di qualsiasi cosa non sia un numero\\
\hline
consistenceErr37 : \textsf{La dimensione del file \`e troppo grande} &  Errore inserimento file nella modalit\`a di inserimento di pi\`u file. Viene visualizzato all'inserimento di un file pi\`u grande dello spazio disponibile.\\
\hline	
consistenceErr38 : \textsf{Non \`e possibile indirizzare un file di questa dimensione con l'attuale configurazione} & Errore inserimento file nella modalit\`a di inserimento di un file singolo. Viene visualizzato all'inserimento di un file pi\`u grande rispetto alle impostazioni del blocco e della partizione.\\
\hline    
\end{tabular}
\end{center}

\newpage
\section{Glossario}

\Huge E \bigskip
\hrule
\smallskip
\normalsize
\begin{description}
	\item[Estensione:] breve sequenza di caratteri alfanumerici aggiunti dopo il nome di un file e separati da quest'ultimo da un punto. L'estensione permette all'utente di un computer, ma anche ad alcuni programmi, di distinguere tra i vari formati di file.
\end{description}
\bigskip

\Huge F \bigskip
\hrule
\smallskip
\normalsize
\begin{description}
	\item[File:] informazione che viene inserita in una simulazione per imitare l'occupazione di spazio nella partizione scelta dall'utente.
	\item[.fsp(File System Project):] formato interno al simulatore utilizzato come estensione per salvare un progetto.
\end{description}
\bigskip

\Huge P \bigskip
\hrule
\smallskip
\normalsize
\begin{description}
	\item[Progetto:] insieme di simulazioni di FS raggruppate assieme.
\end{description}
\bigskip

\Huge S \bigskip
\hrule
\smallskip
\normalsize
\begin{description}
	\item[.sfs(Simulation File System):] formato interno al simulatore utilizzato come estensione per salvare una simulazione.
	\item[Simulazione:] parte fondamentale del sistema che comprende tutto ci\`o che permette di simulare il comportamento di un file system.
\end{description}
\bigskip

\Huge W \bigskip
\hrule
\smallskip
\normalsize
\begin{description}
	\item[Wizard:] Men\`u di scelta iniziale che compare all'avvio del sistema per facilitare l'utente all'utilizzo del prodotto.
\end{description}
\bigskip

\end{document}                                                          